package com.ruoyi.repair.repairApprove.service;

import java.util.HashMap;
import java.util.List;

import com.github.pagehelper.Page;
import com.ruoyi.repair.repairApprove.domain.BizVehicleRepair;
import com.ruoyi.repair.repairApprove.domain.BizVehicleRepairVo;
import com.ruoyi.api.activiti.domain.ExpenseReport;
import org.activiti.engine.runtime.ProcessInstance;

/**
 * 维修申请Service接口
 *
 * @author xzshan
 * @date 2020-06-03
 */
public interface IBizVehicleRepairService {
  /**
   * 查询维修申请
   *
   * @param id 维修申请ID
   * @return 维修申请
   */
  public BizVehicleRepairVo selectBizVehicleRepairById(Long id);

  /**
   * 查询维修申请列表
   *
   * @param bizVehicleRepair 维修申请
   * @return 维修申请集合
   */
  public List<BizVehicleRepairVo> selectBizVehicleRepairList(BizVehicleRepairVo bizVehicleRepair);

  /**
   * 新增维修申请
   *
   * @param bizVehicleRepair 维修申请
   * @return 结果
   */
  public int insertBizVehicleRepair(BizVehicleRepair bizVehicleRepair);

  /**
   * 修改维修申请
   *
   * @param bizVehicleRepair 维修申请
   * @return 结果
   */
  public int updateBizVehicleRepair(BizVehicleRepair bizVehicleRepair);

  /**
   * 批量删除维修申请
   *
   * @param ids 需要删除的数据ID
   * @return 结果
   */
  public int deleteBizVehicleRepairByIds(String ids);

  /**
   * 删除维修申请信息
   *
   * @param id 维修申请ID
   * @return 结果
   */
  public int deleteBizVehicleRepairById(Long id);

  ProcessInstance submitApply(BizVehicleRepair bizVehicleRepair, String applyUserId, String repair, HashMap<String, Object> objectObjectHashMap);


  Page<BizVehicleRepairVo> findDoneTasks(BizVehicleRepairVo bizVehicleRepairVo, String loginName);

  Page<BizVehicleRepairVo> findTodoTasks(BizVehicleRepairVo bizVehicleRepairVo, String loginName);

  Page<ExpenseReport> findTodoTasksMobile(ExpenseReport expenseReport, String loginName);

}
